package com.example.airole.speech.service;

import com.example.airole.speech.entity.SpeechRecognitionRequest;
import com.example.airole.speech.entity.SpeechRecognitionResponse;

/**
 * 语音识别服务接口
 */
public interface SpeechRecognitionService {
    
    /**
     * 识别语音文件
     * @param request 语音识别请求
     * @return 识别结果
     */
    SpeechRecognitionResponse recognize(SpeechRecognitionRequest request);
    
    /**
     * 识别语音文件(异步)
     * @param request 语音识别请求
     * @return 任务ID
     */
    String recognizeAsync(SpeechRecognitionRequest request);
    
    /**
     * 获取异步识别结果
     * @param taskId 任务ID
     * @return 识别结果
     */
    SpeechRecognitionResponse getAsyncResult(String taskId);
    
    /**
     * 检查服务是否可用
     * @return 是否可用
     */
    boolean isServiceAvailable();
    
    /**
     * 获取支持的语言列表
     * @return 语言列表
     */
    String[] getSupportedLanguages();
}

